//package com.cmy.framework_widget
//
//import android.animation.Animator
//import android.animation.AnimatorListenerAdapter
//import android.animation.ObjectAnimator
//import android.app.Activity
//import android.os.Handler
//import android.os.Looper
//import android.os.Message
//import android.view.MotionEvent
//import android.view.ViewGroup
//import android.widget.LinearLayout
//
///**
// * @name:
// *  TitleTextWindow
// * @package:
// *  com.cmy.framework_widget
// * @date:
// *  2023/3/209:45
// * @author
// *    cmy
// * @description
// *
// */
//class TitleTextWindow {
//
//    private var activity : Activity? = null// 栈顶activity
//    private var linearLayout: LinearLayout? = null
//    private var downY = 0
//    private var chatId: String? = null
//    private var chatName: String? = null
//    private var isMove = false
//
//    fun TitleTextWindow(context: Activity?, chatId: String?, chatName: String?) {
//        activity = context
//        this.chatId = chatId
//        this.chatName = chatName
//    }
//
//    private val mHander: Handler = object : Handler(Looper.myLooper()) {
//        override fun handleMessage(msg: Message?) {
//            super.handleMessage(msg)
//            animDismiss()
//        }
//    }
//
//    /**
//     * 动画，从顶部弹出
//     */
//    private fun animShow() {
//        //使用动画从顶部弹出
//        val animator: ObjectAnimator = ObjectAnimator.ofFloat(
//            linearLayout,
//            "translationY",
//            -linearLayout.getMeasuredHeight(),
//            0
//        )
//        animator.setDuration(600)
//        animator.start()
//    }
//
//    /**
//     * 动画，从顶部收回
//     */
//    private fun animDismiss() {
//        if (linearLayout == null || linearLayout.getParent() == null) {
//            return
//        }
//        if (activity == null || activity.isFinishing()) {
//            return
//        }
//        val animator: ObjectAnimator = ObjectAnimator.ofFloat(
//            linearLayout,
//            "translationY",
//            linearLayout.getTranslationY(),
//            -linearLayout.getMeasuredHeight()
//        )
//        animator.setDuration(600)
//        animator.start()
//        animator.addListener(object : AnimatorListenerAdapter() {
//            override fun onAnimationCancel(animation: Animator?) {
//                super.onAnimationCancel(animation)
//                //移除HeaderToast  (一定要在动画结束的时候移除,不然下次进来的时候由于wm里边已经有控件了，所以会导致卡死
//                hideView()
//            }
//
//            override fun onAnimationEnd(animation: Animator?) {
//                super.onAnimationEnd(animation)
//                //移除HeaderToast  (一定要在动画结束的时候移除,不然下次进来的时候由于wm里边已经有控件了，所以会导致卡死
//                hideView()
//            }
//
//            override fun onAnimationRepeat(animation: Animator?) {
//                super.onAnimationRepeat(animation)
//            }
//
//            override fun onAnimationStart(animation: Animator?) {
//                super.onAnimationStart(animation)
//            }
//
//            override fun onAnimationPause(animation: Animator?) {
//                super.onAnimationPause(animation)
//            }
//
//            override fun onAnimationResume(animation: Animator?) {
//                super.onAnimationResume(animation)
//            }
//        })
//    }
//
//    /**
//     * 向外部暴露显示的方法
//     */
//    fun show() {
//        if (activity == null || activity.isFinishing()) {
//            return
//        }
//        /*获取Activity顶层视图,并添加自定义View*/createTitleView()
//        (activity.getWindow().getDecorView() as ViewGroup).addView(linearLayout)
//        animShow()
//        //3S后自动关闭
//        mHander.sendEmptyMessageDelayed(20, 3000)
//    }
//
//    fun hideView() {
//        /*Activity不为空并且没有被释放掉*/
//        if (activity != null && !activity!!.isFinishing()) {
//            /*获取Activity顶层视图*/
//            val root: ViewGroup = activity!!.getWindow().getDecorView() as ViewGroup
//            /*如果Activity中存在View对象则删除*/if (root.indexOfChild(linearLayout) !== -1) {
//                /*从顶层视图中删除*/
//                root.removeView(linearLayout)
//            }
//        }
//    }
//
//    /**
//     * 向外部暴露关闭的方法
//     */
//    fun dismiss() {
//        animDismiss()
//    }
//
//
//    /**
//     * 视图创建方法
//     */
//    private fun createTitleView() {
//        //准备Window要添加的View
//        linearLayout = LinearLayout(activity)
//        val layoutParams: LinearLayout.LayoutParams =LinearLayout.LayoutParams(
//            LinearLayout.LayoutParams.MATCH_PARENT,
//            LinearLayout.LayoutParams.WRAP_CONTENT
//        )
//        linearLayout.setLayoutParams(layoutParams)
//        val titleView: View = View.inflate(activity, R.layout.im_new_msg_view, null)
//        val title: TextView = titleView.findViewById(R.id.action_title_tv)
//        title.setText("您的订单【$chatName】的骑手发来消息")
//        // 为titleView设置Touch事件
//        linearLayout.setOnTouchListener(this)
//        linearLayout.addView(titleView)
//    }
//
//    fun onTouch(v: View?, event: MotionEvent): Boolean {
//        when (event.getAction()) {
//            MotionEvent.ACTION_DOWN -> downY = event.getRawY()
//            MotionEvent.ACTION_MOVE -> {
//                isMove = true
//                val moveY = event.getRawY() as Int
//                isMove = if (moveY - downY < 0) { //如果是向上滑动
//                    linearLayout.setTranslationY(moveY - downY)
//                    true
//                } else {
//                    false
//                }
//            }
//            MotionEvent.ACTION_UP -> {
//                //达到一定比例后，松开手指将关闭弹窗
//                if (Math.abs(linearLayout.getTranslationY()) > linearLayout.getMeasuredHeight() / 1.5) {
//                    animDismiss()
//                } else {
//                    linearLayout.setTranslationY(0)
//                }
//                if (!isMove) {
//                    IMManager.getInstance().openChat(chatId)
//                }
//            }
//            else -> {}
//        }
//        return true
//    }
//}